/***********************************************
 @Name :        小铭同学
 @Time :        2025-08-15
 @Email :       LiaoMingWJ233@163.com
 @Comment :     功能窗口 智能视觉
 @FileName :    widget_funcb_smart_vision.cpp
 @Version :     1.0
************************************************/

#include "widget_funcb_smart_vision.h"
#include "ui_widget_funcb_smart_vision.h"

Widget_funcB_Smart_vision::Widget_funcB_Smart_vision(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget_funcB_Smart_vision)
{
    ui->setupUi(this);
    
    ui->label->setFont(QFont("楷体", 15));   
    // 使用样式表设置渐变颜色
    ui->label->setStyleSheet(
                "QLabel {"
                "   color: #E0115F;"
                "   background-color: transparent;"
                "}"
    );
    ui->label->setText("识别结果\n   1 豫G7AS96 蓝牌");
                       
    ui->pushButton_sbtx->setText("识别图像");
    ui->pushButton_sbtx->setStyleSheet(R"(
                                     QPushButton {
                                     background-color: #4285f4;
                                     color: white;
                                     border-radius: 15px;/* 圆角半径（15像素） */
                                     border: none;
                                     padding: 2px 8px;/* 内边距（上下8px，左右16px） */
                                     font-size: 18px;  /* 字体大小 */
                                     font-weight: bold;
                                     font-family: "楷体";}
                                     QPushButton:hover {
                                     background-color: #3367d6;
                                     }
                                     QPushButton:pressed {
                                     background-color: #2a56c6;})");
    
    ui->pushButton_sctx->setText("上传图像");
    ui->pushButton_sctx->setStyleSheet(R"(
                                     QPushButton {
                                     background-color: #4285f4;
                                     color: white;
                                     border-radius: 15px;/* 圆角半径（15像素） */
                                     border: none;
                                     padding: 2px 8px;/* 内边距（上下8px，左右16px） */
                                     font-size: 18px;  /* 字体大小 */
                                     font-weight: bold;
                                     font-family: "楷体";}
                                     QPushButton:hover {
                                     background-color: #3367d6;
                                     }
                                     QPushButton:pressed {
                                     background-color: #2a56c6;})");
    
    QPixmap originalPixmap(":/车牌");
    QPixmap roundedPixmap(originalPixmap.size());
    roundedPixmap.fill(Qt::transparent);  // 透明背景
    
    // 使用 QPainter 绘制圆角
    QPainter painter(&roundedPixmap);
    painter.setRenderHint(QPainter::Antialiasing, true);
    painter.setRenderHint(QPainter::SmoothPixmapTransform, true);
    
    // 创建圆角路径
    QPainterPath path;
    path.addRoundedRect(0, 0, originalPixmap.width(), originalPixmap.height(), 15, 15);  // 圆角半径 15px
    
    // 裁剪并绘制图片
    painter.setClipPath(path);
    painter.drawPixmap(0, 0, originalPixmap);
    
    // 设置到 QLabel
    ui->label_cp->setPixmap(roundedPixmap);

    
    ui->pushButton_cb->setText("车牌识别");
    ui->pushButton_cb->setStyleSheet(R"(
                                     QPushButton {
                                     background-color: #4285f4;
                                     color: white;
                                     border-radius: 15px;/* 圆角半径（15像素） */
                                     border: none;
                                     padding: 8px 16px;/* 内边距（上下8px，左右16px） */
                                     font-size: 20px;  /* 字体大小 */
                                     font-weight: bold;
                                     font-family: "楷体";}
                                     QPushButton:hover {
                                     background-color: #3367d6;
                                     }
                                     QPushButton:pressed {
                                     background-color: #2a56c6;})");
    
    ui->pushButton_dw->setText("动物识别");
    ui->pushButton_dw->setStyleSheet(R"(
                                     QPushButton {
                                     background-color: #4285f4;
                                     color: white;
                                     border-radius: 15px;/* 圆角半径（15像素） */
                                     border: none;
                                     padding: 8px 16px;/* 内边距（上下8px，左右16px） */
                                     font-size: 20px;  /* 字体大小 */
                                     font-weight: bold;
                                     font-family: "楷体";}
                                     QPushButton:hover {
                                     background-color: #3367d6;
                                     }
                                     QPushButton:pressed {
                                     background-color: #2a56c6;})");
    
    ui->pushButton_rl->setText("人脸识别");
    ui->pushButton_rl->setStyleSheet(R"(
                                     QPushButton {
                                     background-color: #4285f4;
                                     color: white;
                                     border-radius: 15px;/* 圆角半径（15像素） */
                                     border: none;
                                     padding: 8px 16px;/* 内边距（上下8px，左右16px） */
                                     font-size: 20px;  /* 字体大小 */
                                     font-weight: bold;
                                     font-family: "楷体";}
                                     QPushButton:hover {
                                     background-color: #3367d6;
                                     }
                                     QPushButton:pressed {
                                     background-color: #2a56c6;})");
}

Widget_funcB_Smart_vision::~Widget_funcB_Smart_vision()
{
    delete ui;
}
